const glob = require('glob')

const webpack = require('webpack');


const devToolPlugin = (parent,modulePath)=>{
  return new webpack.SourceMapDevToolPlugin({
    filename:`${modulePath}/[name].[hash].js.map`,
    // append:false,
    noSources:true,
    fileContext:parent
  });
} 

exports.devToolPlugin=devToolPlugin;
//获取所有入口函数
exports.fetchEntries = (path)=>{
  const entryFiles = glob.sync(path+"/*/index.ts");
  let entry = {};
  entryFiles.forEach(file => {
    const key = file.replace(/\/index\.ts$/i,"").split("/").pop();
		entry[key] = file;
  });
  return entry;
}

// const HtmlWebpackPlugin = require('html-webpack-plugin');
// //有特殊配置的页面
// const pageParams = {
//   login:{
//     needVuex:false,
//     needWebsocket:false
//   },
//   desk:{
//     needVuex:false,
//     needWebsocket:true,
//     selfParam:"desk"
//   }
// }
// exports.fetchHtmls = (entries,NODE_ENV,projectName)=>{
//   let pages = [];
//   Object.getOwnPropertyNames(entries).forEach(page=>{
//     if(NODE_ENV=='development'){
//       //开发状态
//       pages.push(
//         new HtmlWebpackPlugin({
//           filename: `pages/${page}.html`,
//           template: './src/index.dev.ejs',
//           title:projectName,
//           inject: true,
//           chunks:[page],
//           hash:true,
//           chunksSortMode: function (chunk1, chunk2) {
//               return chunk1.names[0]=="extjs"?-1:1;  
//           },
//           ...(pageParams[page]||{})
//         })
//       );
//     }else{
//       //TODO:打成发布包
//       pages.push(
//         new HtmlWebpackPlugin({
//           filename: `pages/${page}.html`,
//           template: './src/index.ejs',
//           title:projectName,
//           inject: true,
//           chunks:[page],
//           hash:true,
//           chunksSortMode: function (chunk1, chunk2) {
//               return chunk1.names[0]=="extjs"?-1:1;  
//           },
//           ...(pageParams[page]||{})
//         })
//       );

//     }
//   });
//   return pages;
// }